﻿<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title>EditorControl</title>
<meta http-equiv="Content-Type" Content="text/html; charset=utf-8">
<link rel="stylesheet" type="text/css" href="../../styles/styles.css">
<script language="javascript" src='../links.js' type="text/javascript"></script>
</head>
<body>

<h1>EditorControl</h1>
<div class=navbar>
<a href="../index.html">главная</a> |
<a href="index.html">сервисные функции</a> |
<a href="../editorapi/index.html">Editor API</a>
</div>

<div class=shortdescr>
Функция <code>EditorControl</code> позволяет запрашивать различную информацию о встроенном редакторе Far Manager и управлять его состоянием.
</div>

<pre class=syntax>
intptr_t WINAPI EditorControl(
  intptr_t EditorID,
  enum EDITOR_CONTROL_COMMANDS Command,
  intptr_t Param1,
  void *Param2
);
</pre>

<h3>Параметры</h3>
<div class=descr>
  <div class=dfn>EditorID</div>
    <div class=dfndescr>Идентификатор экземпляра редактора (текущий редактор: <code>-1</code>). Каждый экземпляр редактора имеет уникальный идентификатор, который не повторяется в текущей сессии Far Manager.</div>
    <p class="note"><img src="../../images/warning.gif" alt="ВНИМАНИЕ!" width="10" height="10"> ВНИМАНИЕ!</p>
    <ul class="note"><li>Обращение к текущему редактору безопасно только в контексте ProcessEditorInputW. Во всех остальных случаях текущим внезапно может оказаться совсем не тот редактор, который вы ожидали увидеть. Используйте EditorInfo.EditorID или ProcessEditorEventInfo.EditorID (в зависимости от контекста).</li>
    </ul>
  <div class=dfn>Command</div>
    <div class=dfndescr>Тип команды. Может быть одним из следующих (перечисление <a name="EDITOR_CONTROL_COMMANDS">EDITOR_CONTROL_COMMANDS</a>):
    <table class="cont">
    <tr class="cont"><th class="cont" width="40%">Команда</th><th class="cont" width="60%">Описание</th></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_ADDCOLOR">ECTL_ADDCOLOR</a></td>
    <td class="cont" width="60%">Задать цвет части строки. Эта команда может быть вызвана несколько раз для одной и той же строки для задания нескольких цветных областей.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorcolor.html">EditorColor</a>.<br>
    Если указанная строка отсутствует, то возвращается <code>FALSE</code>, иначе <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_ADDSESSIONBOOKMARK">ECTL_ADDSESSIONBOOKMARK</a></td>
    <td class="cont" width="60%">Добавить позицию навигации (это особый вид закладок, отличающийся от обычных тем, что действуют в пределах сеанса редактора) в стек,
    при этом, если добавление идет между элементами стека, то все закладки, с индексом больше текущего, будут удалены.<br>
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.<br>
    Функция возвращает <code>TRUE</code> в случае успешного выполнения.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_CLEARSESSIONBOOKMARKS">ECTL_CLEARSESSIONBOOKMARKS</a></td>
    <td class="cont" width="60%">Удалить все позиции навигации.<br>
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_DELETEBLOCK">ECTL_DELETEBLOCK</a></td>
    <td class="cont" width="60%">Удалить блок в редакторе.<br>
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.<br>
    Функция вернёт <code>TRUE</code> в случае удачного удаления блока и <code>FALSE</code>, если редактор заблокирован (пользователь нажал <kbd>Ctrl</kbd>+<kbd>L</kbd>) или нет выделенного блока.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_DELCOLOR">ECTL_DELCOLOR</a></td>
    <td class="cont" width="60%">Удалить цветовую область в строке. Эта команда может быть вызвана несколько раз для одной и той же строки.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editordeletecolor.html">EditorDeleteColor</a>.<br>
    Если указанная строка отсутствует, то возвращается <code>FALSE</code>, иначе <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_DELETECHAR">ECTL_DELETECHAR</a></td>
    <td class="cont" width="60%">Удалить символ под курсором.<br>
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.<br>
    Функция вернёт <code>TRUE</code> в случае удачного удаления и <code>FALSE</code>, если редактор заблокирован (пользователь нажал <kbd>Ctrl</kbd>+<kbd>L</kbd>).</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_DELETESESSIONBOOKMARK">ECTL_DELETESESSIONBOOKMARK</a></td>
    <td class="cont" width="60%">Удалить указанную позицию навигации.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> должен быть равен индексу удаляемой позиции навигации (<code>0</code> и более) или <code>-1</code> для удаления текущей позиции навигации.
    Количество позиций навигации можно получить, вызвав <a href="#ECTL_GETSESSIONBOOKMARKS">ECTL_GETSESSIONBOOKMARKS</a>.<br>
    Функция возвращает <code>TRUE</code> в случае успешного выполнения.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_DELETESTRING">ECTL_DELETESTRING</a></td>
    <td class="cont" width="60%">Удалить текущую строку.<br>
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.<br>
    Функция вернёт <code>TRUE</code> в случае удачного удаления и <code>FALSE</code>, если редактор заблокирован (пользователь нажал <kbd>Ctrl</kbd>+<kbd>L</kbd>).</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_EXPANDTABS">ECTL_EXPANDTABS</a></td>
    <td class="cont" width="60%">Заменить все символы табуляции в строке пробелами.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на целочисленную переменную которая содержит номер обрабатываемой строки или <code>-1</code> для обработки текущей строки.<br>
    Функция вернёт <code>TRUE</code> в случае удачной замены и <code>FALSE</code>, если редактор заблокирован (пользователь нажал <kbd>Ctrl</kbd>+<kbd>L</kbd>) или нет такой строки.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_GETBOOKMARKS">ECTL_GETBOOKMARKS</a></td>
    <td class="cont" width="60%">Получить информацию о закладках для текущего редактируемого файла.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorbookmarks.html">EditorBookmarks</a> - выделенный плагином блок памяти, или равен <code>NULL</code> (если необходимо узнать размер буфера).<br>
    Команда возвращает <code>0</code>, если файл ещё не открыт, в противном случае, возвращается необходимый размер буфера памяти.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_GETSESSIONBOOKMARKS">ECTL_GETSESSIONBOOKMARKS</a></td>
    <td class="cont" width="60%">Получить информацию о позициях навигации для текущего редактируемого файла.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorbookmarks.html">EditorBookmarks</a> - выделенный плагином блок памяти, или равен <code>NULL</code> (если необходимо узнать размер буфера).<br>
    Команда возвращает <code>0</code> в случае ошибки, в противном случае, возвращается необходимый размер буфера памяти.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_GETCOLOR">ECTL_GETCOLOR</a></td>
    <td class="cont" width="60%">Получить цвет части строки.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorcolor.html">EditorColor</a>.<br>
    Если указанная строка или часть строки отсутствует, то возвращается <code>FALSE</code>, иначе <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_GETFILENAME">ECTL_GETFILENAME</a></td>
    <td class="cont" width="60%">Получить имя открытого в редакторе файла.<br>
    <code>Param1</code> - размер буфера в символах, который выделил плагин для данных.<br>
    <code>Param2</code> указывает на буфер, выделенный плагином, куда будет помещено имя файла.<br>
    Функция возвращает требуемый размер буфера в символах, с учетом завершающего нуля.<br>
    Если <code>Param2 = NULL</code> или <code>Param1</code> меньше требуемого размера, функция просто вернет необходимый размер буфера.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_GETINFO">ECTL_GETINFO</a></td>
    <td class="cont" width="60%">Получить информацию о редакторе.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorinfo.html">EditorInfo</a>.<br>
    Функция возвращает <code>TRUE</code> в случае успешного выполнения.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_GETSTRING">ECTL_GETSTRING</a></td>
    <td class="cont" width="60%">Получить информацию о строке.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorgetstring.html">EditorGetString</a>.
    <pre class=code>
// получить первую строку редактируемого файла
struct EditorGetString egs={sizeof(EditorGetString)};
egs.StringNumber=0;
Info.EditorControl(-1,ECTL_GETSTRING,0,&amp;egs);
    </pre>
    Если указанная строка отсутствует, то возвращается <code>FALSE</code>, иначе <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_GETTITLE">ECTL_GETTITLE</a></td>
    <td class="cont" width="60%">Получить заголовок редактора.<br>
    <code>Param1</code> - размер буфера в символах, который выделил плагин для данных.<br>
    <code>Param2</code> указывает на буфер, выделенный плагином, куда будет помещен заголовок редактора.<br>
    Функция возвращает требуемый размер буфера в символах, с учетом завершающего нуля.<br>
    Если <code>Param2 = NULL</code> или <code>Param1</code> меньше требуемого размера, функция просто вернет необходимый размер буфера.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_INSERTSTRING">ECTL_INSERTSTRING</a></td>
    <td class="cont" width="60%">Вставить новую строку (разорвать строку) с текущей позиции курсора и переместить курсор либо на первую позицию новой строки, либо на позицию с учётом отступа.<br>
    <code>Param1</code> не используется.<br>
    Если <code>Param2</code> указывает на целочисленную переменную, равную <code>1</code>, то при выполнении данной команды будет использоваться отступ.
    Для его отключения установите <code>Param2</code> в <code>NULL</code> или установите целую переменную в <code>0</code>.
    Поведение при отступе из плагина точно такое же, как и при нажатии <kbd>Enter</kbd> пользователем в редакторе, например, в
    новую строку пробелы (или табуляция) не вставляются, если после нового положения курсора строка не содержит никаких символов.
    <pre class=code>
// вставить пустую строку без отступа
Info.EditorControl(-1,ECTL_INSERTSTRING,0,0);
    </pre>
    Функция вернёт <code>TRUE</code> в случае удачного выполнения операции и <code>FALSE</code>, если редактор заблокирован (пользователь нажал <kbd>Ctrl</kbd>+<kbd>L</kbd>).</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_INSERTTEXT">ECTL_INSERTTEXT</a></td>
    <td class="cont" width="60%">Вставить текст, начиная с позиции курсора.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на строку, оканчивающуюся нулём. Команда корректно обрабатывает символ(ы) перевода строки ('\n').
    Команда <code>ECTL_INSERTTEXT</code> работает так, как будто текст вводится с клавиатуры.
    <pre class=code>
// вставить строку "Text" в текущую позицию курсора
Info.EditorControl(-1,ECTL_INSERTTEXT,0,(void*)L"Text");
    </pre>
    Функция вернёт <code>TRUE</code> в случае удачного выполнения операции и <code>FALSE</code>, если редактор заблокирован (пользователь нажал <kbd>Ctrl</kbd>+<kbd>L</kbd>) или строка равна <code>NULL</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_NEXTSESSIONBOOKMARK">ECTL_NEXTSESSIONBOOKMARK</a></td>
    <td class="cont" width="60%">Перейти на следующую позицию навигации.<br>
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.<br>
    Команда возвращает <code>TRUE</code> в случае успешного выполнения.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_PREVSESSIONBOOKMARK">ECTL_PREVSESSIONBOOKMARK</a></td>
    <td class="cont" width="60%">Перейти на предыдущую позицию навигации.<br>
    Если после предыдущего вызова команды <a href="#ECTL_ADDSESSIONBOOKMARK">ECTL_ADDSESSIONBOOKMARK</a> не выполнялось операций
    с позициями навигации, то перед переходом запоминается текущая позиция редактора в качестве новой позиции навигации.
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.<br>
    Команда возвращает <code>TRUE</code> в случае успешного выполнения.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_PROCESSINPUT">ECTL_PROCESSINPUT</a></td>
    <td class="cont" width="60%">Передаёт структуру <a href="../winapi/input_record.html">INPUT_RECORD</a>,
    указатель на которую передаётся в <code>Param2</code>, внутреннему редактору Far Manager для обработки.<br>
    Учтите, что если ваш плагин экспортирует функцию <a href="../exported_functions/processeditorinputw.html">ProcessEditorInputW</a>,
    то данные из <code>Param2</code> сразу же будут переданы в <code>ProcessEditorInputW</code>.
    <code>Param1</code> не используется.<br>
    Схема проста:
    <pre class=code>
case ECTL_PROCESSINPUT:
if (ProcessEditorInput(Param))
  return(TRUE);
  ...
    </pre>
    Поэтому используя <code>EditorControl(ECTL_PROCESSINPUT)</code> в функции <a href="../exported_functions/processeditorinputw.html">ProcessEditorInputW</a> следите за тем, чтобы не впасть в бесконечную рекурсию.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_QUIT">ECTL_QUIT</a></td>
    <td class="cont" width="60%">Закрыть редактор. Любая не сохраненная информация будет потеряна.<br>
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.<br>
    Эта команда всегда возвращает <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_READINPUT">ECTL_READINPUT</a></td>
    <td class="cont" width="60%">Заполняет структуру <a href="../winapi/input_record.html">INPUT_RECORD</a>, читая данные со стандартного устройства ввода.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../winapi/input_record.html">INPUT_RECORD</a> (она определена в Windows API и используется в функции <a href="../winapi/readconsoleinput.html">ReadConsoleInput</a>).</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_REALTOTAB">ECTL_REALTOTAB</a></td>
    <td class="cont" width="60%">Конвертировать реальную строковую позицию курсора в экранную позицию. Если строка не содержит символов табуляции, входная и получаемая позиция будут равными.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorconvertpos.html">EditorConvertPos</a>.<br>
    Если указанная строка отсутствует, то возвращается <code>FALSE</code>, иначе <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_REDRAW">ECTL_REDRAW</a></td>
    <td class="cont" width="60%">Перерисовать окно редактора.<br>
    <code>Param1</code> и <code>Param2</code> должны быть <code>NULL</code>.<br>
    Эта команда всегда возвращает <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_SAVEFILE">ECTL_SAVEFILE</a></td>
    <td class="cont" width="60%">Позволяет плагину сохранить редактируемый файл.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorsavefile.html">EditorSaveFile</a>.
    Если <code>Param2</code> равен <code>NULL</code>, то будут использованы имя редактируемого файла и текущий формат сохранения (DOS-формат - перевод строки заменяется на "\r\n", Unix-формат - "\n").
    При успешном сохранении файла функция вернёт <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_SELECT">ECTL_SELECT</a></td>
    <td class="cont" width="60%">Выделить или снять выделение с блока.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorselect.html">EditorSelect</a>.<br>
    При успешной операции функция вернёт <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_SETKEYBAR">ECTL_SETKEYBAR</a></td>
    <td class="cont" width="60%">Функция, позволяющая управлять поведением строки функциональных клавиш в редакторе.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2 = NULL</code> - восстановить предыдущее значение<br>
    <code>Param2 = -1</code> - обновить полосу (перерисовать)<br>
    <code>Param2</code> равен указателю на структуру <a href="../structures/farsetkeybartitles.html">FarSetKeyBarTitles</a>, новое значение.<br>
    Вызывать данную команду в событии <a href="../exported_functions/processeditoreventw.html#EE_READ">EE_READ</a>
    не имеет смысла, т.к. строки функциональных клавиш, как объекта, в момент загрузки файла в редактор ещё не существует.<br>
    Функция возвращает <code>TRUE</code> в случае успешного выполнения или <code>FALSE</code> (когда строка, как объект, не создана).</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_SETPARAM">ECTL_SETPARAM</a></td>
    <td class="cont" width="60%">Изменение настроек текущего редактора.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorsetparameter.html">EditorSetParameter</a>.<br>
    Функция возвращает <code>TRUE</code> в случае успешного изменения параметров.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_SETPOSITION">ECTL_SETPOSITION</a></td>
    <td class="cont" width="60%">Установить позицию курсора.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorsetposition.html">EditorSetPosition</a>.<br>
    При успешной операции функция вернёт <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_SETSTRING">ECTL_SETSTRING</a></td>
    <td class="cont" width="60%">Поместить текст в строку.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorsetstring.html">EditorSetString</a>.<br>
    При успешной операции функция вернёт <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_SETTITLE">ECTL_SETTITLE</a></td>
    <td class="cont" width="60%"><img src="../../images/ectl_settitle.gif" width=213 height=53 align=right alt="DrawLine\DrawLine.cpp: Применена функция SetTitle()">Установить заголовок редактора (верхняя статусная панель).<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на строку, оканчивающуюся нулём, которая содержит текст заголовка.<br>
    Для восстановления статусной строки укажите параметр <code>Param2 = NULL</code> или пустой строке.<br>
    Заголовок не будет выведен, если статусная строка погашена.<br>
    При показе заголовок будет усечён до размера, не затрагивающего служебную информацию (кодировка, позиция, etc.)<br>
    <pre class=code>
// DrawLine\DrawLine.cpp: функция SetTitle
Info.EditorControl(-1,ECTL_SETTITLE,0,GetMsg(IDTitle));
    </pre>
    Эта команда всегда возвращает <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_TABTOREAL">ECTL_TABTOREAL</a></td>
    <td class="cont" width="60%">Конвертировать экранную позицию курсора в реальную строковую позицию. Если строка не содержит символов табуляции, входная и получаемая позиция будут равными.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorconvertpos.html">EditorConvertPos</a>.<br>
    Если указанная строка отсутствует, то возвращается <code>FALSE</code>, иначе <code>TRUE</code>.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_UNDOREDO">ECTL_UNDOREDO</a></td>
    <td class="cont" width="60%">Функция, позволяющая управлять поведением операции Отмена-Возврат действия, т.н. Undo-Redo.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorundoredo.html">EditorUndoRedo</a>.<br>
    Команда возвращает <code>TRUE</code> в случае успешного выполнения операции.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_SUBSCRIBECHANGEEVENT">ECTL_SUBSCRIBECHANGEEVENT</a></td>
    <td class="cont" width="60%">Подписаться на получение <a href="../structures/processeditoreventinfo.html#EE_CHANGE">EE_CHANGE</a> событий для заданной сессии редактора.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorsubscribechangeevent.html">EditorSubscribeChangeEvent</a>.<br>
    Команда возвращает <code>TRUE</code> в случае успешного выполнения операции.</td></tr>

    <tr class="cont"><td class="cont" width="40%"><a name="ECTL_UNSUBSCRIBECHANGEEVENT">ECTL_UNSUBSCRIBECHANGEEVENT</a></td>
    <td class="cont" width="60%">Отписаться от получения <a href="../structures/processeditoreventinfo.html#EE_CHANGE">EE_CHANGE</a> событий для заданной сессии редактора.<br>
    <code>Param1</code> не используется.<br>
    <code>Param2</code> указывает на структуру <a href="../structures/editorsubscribechangeevent.html">EditorSubscribeChangeEvent</a>.<br>
    Команда возвращает <code>TRUE</code> в случае успешного выполнения операции.</td></tr>
    </table>
    </div>

  <div class=dfn>Param1</div>
    <div class=dfndescr>Указывает на параметры1 команды. Смотрите описание <code>Command</code>.</div>
  <div class=dfn>Param2</div>
    <div class=dfndescr>Указывает на параметры2 команды. Смотрите описание <code>Command</code>.</div>
</div>

<h3>Возвращаемое значение</h3>
<div class=descr>
<div class=descr>Смотрите описание конкретной команды.
</div>

<h3>Замечания</h3>
<div class=descr>
Far Manager обновляет содержимое окна редактора при активных действиях пользователя. Вызовите <code>ECTL_REDRAW</code>, чтобы принудительно обновить окно после любых активных изменений содержимого редактора.
</div>

<div class=see>Смотрите также:</div>
<div class=seecont>
<a href="advcontrol.html">AdvControl</a>,
<a href="panelcontrol.html">PanelControl</a>
</div>

</body>
</html>
